home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Archivers / XpkDisk / mkci.c < prev    next >
C/C++ Source or Header  |  1996-09-26  |  2KB  |  82 lines

  1. /*
  2.  * MKCI.C
  3.  *
  4.  * $Id: mkci.c,v 1.5 1995/04/08 20:23:48 Rhialto Exp $
  5.  * $Log: mkci.c,v $
  6.  * Revision 1.5  1995/04/08  20:23:48  Rhialto
  7.  * Add/correct version strings.
  8.  *
  9.  * Revision 1.4  1995/04/02  14:58:51  Rhialto
  10.  * Change #ifdef into #if.
  11.  *
  12.  * Revision 1.3  1993/11/08  13:11:15  Rhialto
  13.  * Add RCS tags.
  14.  *
  15.  *
  16.  * Generate c.i file for assembly parts to export stuff from C to ASM level.
  17.  */
  18.  
  19. #include "xpkdisk.h"
  20. #include <exec/resident.h>
  21. #include <stdio.h>
  22.  
  23. #define OFFSETOF(tag, member)   ((long)(&((struct tag *)0)->member))
  24. #define OFFSET(label, structure, member) \
  25.     printf("%s\tEQU %d\n", label, OFFSETOF(structure, member))
  26. #define VALUE(label, value) \
  27.     printf("%s\tEQU %d\n", label, value);
  28.  
  29. static const char rcsId[] = "$Id: mkci.c,v 1.5 1995/04/08 20:23:48 Rhialto Exp $";
  30.  
  31. long
  32. log2(unsigned long x)
  33. {
  34.     long log;
  35.  
  36.     if (x) {
  37.     for (log = -1; x; log++)
  38.         x >>= 1;
  39.  
  40.     return log;
  41.     } else {
  42.     return -1;
  43.     }
  44. }
  45.  
  46. main(argc, argv)
  47. int argc;
  48. char **argv;
  49. {
  50.     if (argc > 1)
  51.     freopen(argv[1], "w", stdout);
  52.  
  53.     printf("; Generated by $Id: mkci.c,v 1.5 1995/04/08 20:23:48 Rhialto Exp $\n; Don't edit by hand!\n");
  54.  
  55.     VALUE("xd_SIZEOF", sizeof(DEV));
  56. #if HANDLE_IO_QUICK
  57.     VALUE("HANDLE_IO_QUICK", 1);
  58. #else
  59.     VALUE("HANDLE_IO_QUICK", 0);
  60. #endif
  61.     VALUE("UNITB_ACTIVE", UNITB_ACTIVE);
  62.     VALUE("VERSION", VERSION);
  63.     VALUE("REVISION", REVISION);
  64.  
  65.     /* Some system include values: */
  66.     VALUE("RTC_MATCHWORD", RTC_MATCHWORD);
  67.     VALUE("RTF_AUTOINIT", RTF_AUTOINIT);
  68.     VALUE("NT_DEVICE", NT_DEVICE);
  69.     VALUE("LIBF_CHANGED", LIBF_CHANGED);
  70.     VALUE("LIBF_SUMUSED", LIBF_SUMUSED);
  71.  
  72.     OFFSET("ln_Type", Node, ln_Type);
  73.     OFFSET("ln_Name", Node, ln_Name);
  74.     OFFSET("dev_Flags", XpkDiskDevice, dev_Flags);
  75.     OFFSET("dev_Version", XpkDiskDevice, dev_Version);
  76.     OFFSET("dev_Revision", XpkDiskDevice, dev_Revision);
  77.     OFFSET("dev_IdString", XpkDiskDevice, dev_IdString);
  78.  
  79.     return 0;
  80. }
  81.  
  82.